package com.base.cn.platform.os.controller.netSchoolConfig.publicAccount;

import com.base.cn.platform.os.common.controller.BaseController;
import com.base.cn.platform.os.common.utils.StringUtils;
import com.base.cn.platform.os.common.utils.result.ResultUtil;
import com.base.cn.platform.os.entity.netSchoolConfig.publicAccount.PublicAccount;
import com.base.cn.platform.os.service.netSchoolConfig.publicAccount.PublicAccountBiz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * 公众号配置Controller
 *
 * @author zsw
 * @create 2019-04-18
 */
@RestController
@RequestMapping("/manage")
public class PublicAccountController extends BaseController {

    @Autowired
    private PublicAccountBiz publicAccountBiz;

    /**
     * 查询公众号配置列表
     *
     * @param publicAccount
     * @return
     */
    @RequestMapping("/queryPublicAccount")
    public List<PublicAccount> queryPublicAccount (@RequestBody PublicAccount publicAccount){
        return publicAccountBiz.queryPublicAccount(publicAccount);
    }

    /**
     * 更新公众号配置
     *
     * @param publicAccount
     * @return
     */
    @RequestMapping("/updateAccountConfig")
    public Map<String,Object> updateAccountConfig(@RequestBody PublicAccount publicAccount){
        if (StringUtils.isNotEmpty(publicAccount)){
            publicAccountBiz.updateAccountConfig(publicAccount);
            return ResultUtil.SUCCESS("数据更新成功");
        }else{
            return ResultUtil.ERROR("系统异常");
        }
    }

    /**
     * 保存公众号配置
     *
     * @param publicAccount
     * @return
     */
    @RequestMapping("/saveAccountConfig")
    public Map<String, Object> saveAccountConfig(@RequestBody PublicAccount publicAccount) {
        if (StringUtils.isNotEmpty(publicAccount)){
            if (publicAccount.getConfigType().equals("ACCOUNT")){
                if (StringUtils.isEmpty(publicAccount.getTitle())){
                    return ResultUtil.ERROR("公众号的标题不能为空!");
                }
                if (publicAccount.getTitle().length() > 30){
                    return ResultUtil.ERROR("公众号的标题不能大于30个字符!");
                }
                if (StringUtils.isEmpty(publicAccount.getUrl())){
                    return ResultUtil.ERROR("请上传公众号二维码!");
                }
            }
            if (publicAccount.getConfigType().equals("SHARE")){
                if (StringUtils.isEmpty(publicAccount.getTitle())){
                    return ResultUtil.ERROR("分享标题不能为空!");
                }
                if (publicAccount.getTitle().length() > 30){
                    return ResultUtil.ERROR("分享标题不能大于30个字符!");
                }
                if (StringUtils.isEmpty(publicAccount.getDescription())){
                    return ResultUtil.ERROR("分享的描述不能为空!");
                }
                if (publicAccount.getDescription().length() > 60){
                    return ResultUtil.ERROR("分享的描述不能大于60个字符!");
                }
                if (StringUtils.isEmpty(publicAccount.getUrl())){
                    return ResultUtil.ERROR("请上传分享封面!");
                }
            }
            publicAccountBiz.saveAccountConfig(publicAccount);
            return ResultUtil.SUCCESS("数据保存成功");
        }
        return ResultUtil.ERROR("公众号相关配置不能为空!");
    }

}
